#ifndef __linInputStream__h__included__
#define __linInputStream__h__included__

#include "core/io/IOStream.h"

#include <fstream>
using namespace std;

namespace neiderra {
	namespace core {
		class linInputStream: public iInputStream 
		{
			public:
				linInputStream(Core* core_);
				virtual ~linInputStream();

				virtual bool open(const char* filename);
				virtual bool reopen();
				virtual void close();
				virtual int size();
				virtual const char* sourceName();

				virtual int seek(long n, SeekType);
				virtual long pos();
				virtual int	read(char* buf, int n);
			protected:
				string _filename;
				ifstream* _input;
				bool _ready;
		};
	}
}

#endif
